Most operating systems associate a logical unit of mass storage with a device name, such as a physical hierarchical name (.backslash.device.backslash.harddisk0.backslash.partition1.backslash.), and a user-friendly name, such as a drive letter, so that the data on the storage device can be easily accessible by the higher layers of the operating system and user applications. The higher layers of the operating system and user applications assume that the user-friendly names are persistent across boot sessions. In actuality, the names are persistent only as long as the physical configuration of the computer does not change. Persistence cannot be guaranteed because such operating systems assign the user-friendly names in the order in which the storage devices are detected when booting. When the physical locations of the storage devices change, these operating systems will assign the user-friendly names to different devices. Therefore, the consistency of name assignments across multiple boot sessions is not preserved under all circumstances, and the higher operating system layers and user applications will be unable to access the data on the devices without modification or without administrator invention.
The process of associating a logical unit, or volume, with the appropriate underlying physical media is commonly referred to in the art as "mounting" the logical volume on the physical media. The logical volume must be mounted before the data on the physical media can be accessed.
Standard file systems are typically arranged in a hierarchical tree-structure commonly referred to as a "namespace" with the logical volumes, directories, and files in the namespace assigned a user-friendly name. When the namespace is graphically represented, each directory is illustrated as an intermediate point in the hierarchy. The higher layers of the operating system and user applications specify a path the namespace hierarchy to a destination to access data.
The hierarchy that encompasses all logical volumes in a computer system is the "global" namespace of the file system. Each logical volume in the computer also has its own "local" namespace which defines directories and files present in the logical volume. A volume mount point in the local namespace of one logical volume is used to "graft" the local namespace of a second logical volume into the namespace of the first logical volume. However, because the user-friendly names are not persistent, the consistency of the volume mount points in the global namespace cannot be automatically guaranteed across multiple boot sessions.
Therefore, there is a need in the art for an operating system that provides persistent user-friendly names and guarantees the consistency of volume mount points despite physical configuration changes in the underlying storage media.